GtkGestureMultiPress: check event state before emiting released signal
authorJuan Pablo Ugarte <ugarte@endlessm.com>
Mon, 22 Jan 2018 14:20:14 +0000 (11:20 -0300)
committerCarlos Garnacho <carlosg@gnome.org>
Mon, 22 Jan 2018 14:52:58 +0000 (15:52 +0100)
Fix bug 771986 "Inconsistent 'row-activated' signal emission before \
drag'n'drop, 'activate-on-single-click'=TRUE, 'reorderable'=TRUE"

gtk/gtkgesturemultipress.c

index fb3b9ce25474e9348d188c530429762f934e12be..1f4f0e50aff906784115a3c43971cd7971ad2b27 100644 (file)
@@ -282,7 +282,9 @@ gtk_gesture_multi_press_end (GtkGesture       *gesture,
   current = gtk_gesture_single_get_current_sequence (GTK_GESTURE_SINGLE (gesture));
   gtk_gesture_get_point (gesture, current, &x, &y);
 
-  g_signal_emit (gesture, signals[RELEASED], 0, priv->n_release, x, y);
+  if (gtk_gesture_get_sequence_state (gesture, current) != GTK_EVENT_SEQUENCE_DENIED)
+    g_signal_emit (gesture, signals[RELEASED], 0, priv->n_release, x, y);
+
   priv->n_release = 0;
 }